This invention relates to interfacing terminals and computer systems.
Recently, the cost and size of computer hardware has been dramatically reduced, leading to the widespread use of large and complex interconnected networks of computers. In such networks, incompatible communication protocols may be used by different vendors for terminal-to-computer and computer-to-computer communications.
The incompatibility of protocols is particularly apparent when updating computing hardware and changing from one vendor to another (and one protocol to another). For example, consider a system including a mainframe and terminals manufactured by a first vendor. Ideally, if the system's managers wished to change hardware vendors, they would first purchase a new mainframe from the second vendor, and simply plug the new mainframe into the existing system. Thereafter, the existing terminals (from the first vendor) would be used with either the new or old mainframes. After the users were accustomed to the new mainframe, the old mainframe could be removed from the network, and new terminals (from the second vendor) could be purchased and used with the new mainframe.
During the transition period, it would be desirable to use existing terminals to access both mainframes, thus avoiding the additional cost of new terminals from the second vendor, and the inconvenience of having two terminals on every user's desk. Even if new terminals are purchased with the new mainframe, the users will still need to access the old mainframe until all activities have been transferred to the new mainframe.
It is not simple to connect one vendor's terminals to another vendor's mainframe. For example, consider the task of connecting a terminal manufactured by International Business machines Corporation of Armonk, New York (IBM), to a mainframe manufactured by Digital Equipment corporation (DEC) of Maynard, Mass. An issue that must be confronted in this case is that IBM terminals communicate with a so-called synchronous communication protocol, whereas DEC terminals communicate with an asynchronous communication protocol.
In an IBM system using a synchronous communication protocol, the "cluster control unit" (or CCU, which acts as a go-between for the terminals and the mainframe) regularly polls the terminals for new actions that have been performed by the user and transmits the results to the mainframe. The CCU also sends commands to the terminals which update their screens. The terminals must acknowledge each poll within a short time interval (approximately 5 .mu.sec), by transmitting any recent keystrokes or other actions. Likewise, each screen update command must also be acknowledged. In contrast, in a DEC system using an asynchronous communication protocol, keystrokes or other actions are transmitted to a terminal server (TS) as they are received from the user. In a DEC asynchronous system, the terminal is never polled.
There are several known conversion devices that interconnect hardware from different vendors such as IBM and DEC. These conversion devices consist essentially of conversion hardware and (in the case of a converter interfacing IBM terminals to DEC and IBM mainframes) connections to the IBM terminal, the IBM CCU and the DEC TS. The conversion hardware routes (and, where necessary, converts to a form appropriate for the target main frame) the user's keystrokes and other terminal information to one or the other of the mainframes. Typically, to switch the terminal and converter between mainframes, the user enters a "hot key" sequence. To detect the hot key sequence, the conversion hardware "listens in" on all keystrokes entered by the user at the terminal, and switches mainframes when the hot key sequence is detected.
In known conversion devices, e.g., those that interconnect terminals to IBM and DEC mainframes, when the user switches "off" the IBM mainframe (to work on the DEC mainframe), from the IBM CCU's perspective, the terminal becomes totally unresponsive to polls or other commands. When the IBM CCU notices that the terminal is unresponsive (which occurs after about 15 unanswered polls), the CCU assumes that a communication error has occurred. As a result, the CCU kills the user's processes and logs the user out (i.e., the user's "session" is terminated). Thus, when a user switches "off" and back "on" the IBM mainframe, he must log back into the IBM system, and re-initialize any programs that were running.